package com.iot.core.data.entity;

import com.iot.core.data.BaseEntity;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.util.Date;


@Data
@Schema(name = "菜单表",description = "")
@Table(value ="htmenu")
public class HtMenu extends BaseEntity {


    @Schema(name = "父编号",description = "")
    private  Long  pid ;

    @Schema(name = "平台编号",description = "")
    private  Long  htplatId ;

    @Schema(name = "菜单代码",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  code ="";

    @Schema(name = "菜单名称",description = "")
    @NotBlank(message = "菜单名称不能为空")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  name ="";

    @Schema(name = "类型",description = "菜单、页面、权限")
    @Size(min =0,max = 10,message = "长度范围0-10")
    private  String  lx ="";

    @Schema(name = "页面编号",description = "")
    private  Long  htpageId ;

    @Schema(name = "Url编号",description = "")
    private  Long  htactionId ;

    @Schema(name = "图标",description = "")
    private  String  imgurl ="";

    @Schema(name = "参数1",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  p1 ="";

    @Schema(name = "参数2",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  p2 ="";

    @Schema(name = "参数3",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  p3 ="";

    @Schema(name = "参数4",description = "")
    @Size(min =0,max = 50,message = "长度范围0-50")
    private  String  p4 ="";

    @Schema(name = "排序号",description = "")
    private  Long  sortno ;

    @Schema(name = "备注",description = "")
    private  String  memo ="";



    @Schema(name = "创建日期",description = "")
    private  Date  crtDt ;

    @Schema(name = "创建人编号",description = "")
    private  Long  crtUid =0L;

    @Schema(name = "机构编号",description = "")
    private  Long  crtDid =0L;

    @Schema(name = "修改日期",description = "")
    private  Date  edtDt ;

    @Schema(name = "修改人编号",description = "")
    private  Long  edtUid =0L;

    @Schema(name = "Gid",description = "")
    private  String  gid ="";

    @Schema(name = "删除标志",description = "")
    @Column(isLogicDelete = true)
    private  boolean  deleted  ;



}
